<?php
/*
 *      session.inc.php
 *
 * 		Classes'occupant de la gestion des sessions
 */

class Session
{
	private $sId;
	private $sName;
	private $sDuration;

	/*
	 * Constructeur de la session
	 * @param sId : identifiant de la session,
	 * sDuration : durée de la session.
	 */
	function __construct($sId = '', $sDuration = 1440)
	{
		//Réglage de la durée de vie de la session
		ini_set('session.gc_maxlifetime', $sDuration);

		//Création/ouverture de la session
		session_start($sId);

		$this->sId = session_id();
		$this->sName = session_name();
		$this->sDuration = $sDuration;
	}

	/*
	 * Méthode permettant de récupérer le contenu d'une variable de session
	 * @param varName = nom de la variable de session
	 * @return contenu de varName
	 */
	function __get($varName)
	{
		if(isset($_SESSION[$varName]))
			return $_SESSION[$varName];
		else
			return null;
	}

	/*
	 * Méthode permettant de définir directement le contenu d'une variable de session
	 * @param varName = nom de la variable de session,
	 * value = valeur de la variable de session.
	 */
	function __set($varName, $value)
	{
		$_SESSION[$varName] = $value;
	}

	function destroy()
	{
		$_SESSION = array();
		session_destroy();
	}
}

?>
